The present invention relates to computer network devices and more particularly to a method and apparatus for translating frame headers at speeds approximating frame reception rates in a bridge/router.
Personal computers came into widespread use as standalone devices. Employed in this manner, databases and other information which were resident on one computer were not readily available to other users. To address the need to share information between computers and to share peripherals, such as printers, modems, etc., among a plurality of users, local area networks (LANs) were developed. A number of different types of LANs came into widespread use; notably, 10 megabit Ethernet, 4 megabit token rings compliant with the IEEE 802.5 standard, 16 megabit token ring compliant with the 802.6 and subsequently 100 mb FDDI, 100 megabit ethernet and one gigabit Ethernet. As LAN usage became commonplace, and the installed base of disparate LAN types increased, information sharing between LANs became necessary. Bridges were developed to interconnect LANs of the same type. Bridges are essentially transparent to the network and forward all information received on an input port to all devices coupled to the same network.
Bridges and routers were developed out of a recognized need to move data between a number of separate networks, since in many cases it is not desired to forward all information received at input ports to all output ports. Given the disparate data link layer (layer 2) and network layer (layer 3) protocols, bridges and routers are oftentimes required to translate headers of frames received at one input port prior to forwarding the frame from one or more output ports. Typically, header translations have been performed in software. The translation of frame headers via the use of software routines provides considerable flexibility due to the ease of accommodating changes in existing protocols and additionally, header translations for new protocols, however software translation introduces undesirable delays within a bridge/router which can result in the need to discard frames in the event of buffer storage overflow as a consequence of the inability of the bridge/router to keep up with network traffic. Additionally, software header translation can result in increased costs of the bridge/router as a result of the need to increase buffer storage in an effort to minimize the likelihood of frame discard. Furthermore, network performance employing bridges/routers which perform header translation in software is adversely impacted since discarded frames need to be retransmitted. Finally, at the line speeds of modern networks, header translation delays interposed by software header translation routines are significant.
With the proliferation of networks worldwide, it is expected that more and more types of LANs and networking protocols will be developed. Presently organizations are experiencing the need to utilize multiple networking protocols such as the Internet protocol (IP), IPx, APPLETALK (tm), DECNET(tm) and other protocols. New versions of existing protocols as well as entirely new protocols are likely to develop in the future. Thus, it is likely that the need to perform high speed frame header translation will continue into the foreseeable future.
For the above reasons, it would be desirable to be able to perform header translations in a network device, such as a router, at or near the frame reception rate for the device so as to avoid the aforementioned problems with prior art bridges/routers.